package com.mine.yyb.modules.sys.vo;

import java.util.Date;

import com.mine.yyb.common.utils.jdbc.MineBaseVO;

/**
 * <pre>
 * <一句话功能简述>
 * 
 * 商家反馈报表数据VO类
 * 
 * <功能详细描述>
 * </pre>
 * 
 * @author xuganhua
 * @version [版本号, 2016年1月2日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class ReportVO extends MineBaseVO
{
    
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1210941594775347524L;
    
    public static String TABLE_NAME = "t_yyb_sys_report";
    
    // 主键
    private int id;
    
    // 广告活动
    private String activity;
    
    // 订单日期
    private String orderDate;
    
    // 订单号
    private String orderID;
    
    // 订单金额
    private double orderPrice;
    
    // 佣金
    private double rebate;
    
    // 标签1
    private String label;
    
    // 标签2
    private String labelTo;
    
    // 订单IP
    private String orderIP;
    
    // 创建日期
    private Date createDate;
    
    // 更新日期
    private Date updateDate;
    
    /**
     * 获取 id
     * 
     * @return 返回 id
     */
    public int getId()
    {
        return id;
    }
    
    /**
     * 设置 id
     * 
     * @param 对id进行赋值
     */
    public void setId(int id)
    {
        this.id = id;
    }
    
    /**
     * 获取 activity
     * 
     * @return 返回 activity
     */
    public String getActivity()
    {
        return activity;
    }
    
    /**
     * 设置 activity
     * 
     * @param 对activity进行赋值
     */
    public void setActivity(String activity)
    {
        this.activity = activity;
    }
    
    /**
     * 获取 orderDate
     * 
     * @return 返回 orderDate
     */
    public String getOrderDate()
    {
        return orderDate;
    }
    
    /**
     * 设置 orderDate
     * 
     * @param 对orderDate进行赋值
     */
    public void setOrderDate(String orderDate)
    {
        this.orderDate = orderDate;
    }
    
    /**
     * 获取 orderID
     * 
     * @return 返回 orderID
     */
    public String getOrderID()
    {
        return orderID;
    }
    
    /**
     * 设置 orderID
     * 
     * @param 对orderID进行赋值
     */
    public void setOrderID(String orderID)
    {
        this.orderID = orderID;
    }
    
    /**
     * 获取 orderPrice
     * 
     * @return 返回 orderPrice
     */
    public double getOrderPrice()
    {
        return orderPrice;
    }
    
    /**
     * 设置 orderPrice
     * 
     * @param 对orderPrice进行赋值
     */
    public void setOrderPrice(double orderPrice)
    {
        this.orderPrice = orderPrice;
    }
    
    /**
     * 获取 rebate
     * 
     * @return 返回 rebate
     */
    public double getRebate()
    {
        return rebate;
    }
    
    /**
     * 设置 rebate
     * 
     * @param 对rebate进行赋值
     */
    public void setRebate(double rebate)
    {
        this.rebate = rebate;
    }
    
    /**
     * 获取 label
     * 
     * @return 返回 label
     */
    public String getLabel()
    {
        return label;
    }
    
    /**
     * 设置 label
     * 
     * @param 对label进行赋值
     */
    public void setLabel(String label)
    {
        this.label = label;
    }
    
    /**
     * 获取 labelTo
     * 
     * @return 返回 labelTo
     */
    public String getLabelTo()
    {
        return labelTo;
    }
    
    /**
     * 设置 labelTo
     * 
     * @param 对labelTo进行赋值
     */
    public void setLabelTo(String labelTo)
    {
        this.labelTo = labelTo;
    }
    
    /**
     * 获取 orderIP
     * 
     * @return 返回 orderIP
     */
    public String getOrderIP()
    {
        return orderIP;
    }
    
    /**
     * 设置 orderIP
     * 
     * @param 对orderIP进行赋值
     */
    public void setOrderIP(String orderIP)
    {
        this.orderIP = orderIP;
    }
    
    /**
     * 获取 createDate
     * 
     * @return 返回 createDate
     */
    public Date getCreateDate()
    {
        return createDate;
    }
    
    /**
     * 设置 createDate
     * 
     * @param 对createDate进行赋值
     */
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }
    
    /**
     * 获取 updateDate
     * 
     * @return 返回 updateDate
     */
    public Date getUpdateDate()
    {
        return updateDate;
    }
    
    /**
     * 设置 updateDate
     * 
     * @param 对updateDate进行赋值
     */
    public void setUpdateDate(Date updateDate)
    {
        this.updateDate = updateDate;
    }
    
    /** 
     * <pre>
     * <一句话功能简述>
     * <功能详细描述>
     * </pre>
     *
     * @author  姓名 工号
     * @version  [版本号, 2017年5月5日]
     * @return
     * @see [类、类#方法、类#成员]
     */
    @Override
    public String toString()
    {
        return "ReportVO [id=" + id + ", activity=" + activity + ", orderDate=" + orderDate + ", orderID=" + orderID
            + ", orderPrice=" + orderPrice + ", rebate=" + rebate + ", label=" + label + ", labelTo=" + labelTo
            + ", orderIP=" + orderIP + ", createDate=" + createDate + ", updateDate=" + updateDate + "]";
    }
    
    /** 
     * <pre>
     * <一句话功能简述>
     * <功能详细描述>
     * </pre>
     *
     * @author  姓名 工号
     * @version  [版本号, 2017年5月5日]
     * @return
     * @see [类、类#方法、类#成员]
     */
    @Override
    public int hashCode()
    {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((activity == null) ? 0 : activity.hashCode());
        result = prime * result + ((createDate == null) ? 0 : createDate.hashCode());
        result = prime * result + id;
        result = prime * result + ((label == null) ? 0 : label.hashCode());
        result = prime * result + ((labelTo == null) ? 0 : labelTo.hashCode());
        result = prime * result + ((orderDate == null) ? 0 : orderDate.hashCode());
        result = prime * result + ((orderID == null) ? 0 : orderID.hashCode());
        result = prime * result + ((orderIP == null) ? 0 : orderIP.hashCode());
        long temp;
        temp = Double.doubleToLongBits(orderPrice);
        result = prime * result + (int)(temp ^ (temp >>> 32));
        temp = Double.doubleToLongBits(rebate);
        result = prime * result + (int)(temp ^ (temp >>> 32));
        result = prime * result + ((updateDate == null) ? 0 : updateDate.hashCode());
        return result;
    }
    
    /** 
     * <pre>
     * <一句话功能简述>
     * <功能详细描述>
     * </pre>
     *
     * @author  姓名 工号
     * @version  [版本号, 2017年5月5日]
     * @param obj
     * @return
     * @see [类、类#方法、类#成员]
     */
    @Override
    public boolean equals(Object obj)
    {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        ReportVO other = (ReportVO)obj;
        if (activity == null)
        {
            if (other.activity != null)
                return false;
        }
        else if (!activity.equals(other.activity))
            return false;
        if (createDate == null)
        {
            if (other.createDate != null)
                return false;
        }
        else if (!createDate.equals(other.createDate))
            return false;
        if (id != other.id)
            return false;
        if (label == null)
        {
            if (other.label != null)
                return false;
        }
        else if (!label.equals(other.label))
            return false;
        if (labelTo == null)
        {
            if (other.labelTo != null)
                return false;
        }
        else if (!labelTo.equals(other.labelTo))
            return false;
        if (orderDate == null)
        {
            if (other.orderDate != null)
                return false;
        }
        else if (!orderDate.equals(other.orderDate))
            return false;
        if (orderID == null)
        {
            if (other.orderID != null)
                return false;
        }
        else if (!orderID.equals(other.orderID))
            return false;
        if (orderIP == null)
        {
            if (other.orderIP != null)
                return false;
        }
        else if (!orderIP.equals(other.orderIP))
            return false;
        if (Double.doubleToLongBits(orderPrice) != Double.doubleToLongBits(other.orderPrice))
            return false;
        if (Double.doubleToLongBits(rebate) != Double.doubleToLongBits(other.rebate))
            return false;
        if (updateDate == null)
        {
            if (other.updateDate != null)
                return false;
        }
        else if (!updateDate.equals(other.updateDate))
            return false;
        return true;
    }
    
}
